/**
 * 
 */
package abstractfactories2.store;

import abstractfactories2.product.ProductA;
import abstractfactories2.product.ProductB;
import abstractfactories2.product.ProductC;

/**
 * @author hoannguyen
 * 
 */
public abstract class Store {

	public void orderProduct() {
		ProductA productA = createProductA();
		productA.productAMethod1();
		productA.productAMethod2();
		
		ProductB productB = createProductB();
		productB.productBMethod1();
		productB.productBMethod2();
		
		ProductC productC = createProductC();
		productC.productCMethod1();
		productC.productCMethod2();

	}

	public abstract ProductA createProductA();
	public abstract ProductB createProductB();
	public abstract ProductC createProductC();
}
